package com.example.dictdemo.mapper;



import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.dictdemo.model.SysDict;
import com.example.dictdemo.model.vo.DictModel;
import com.example.dictdemo.model.vo.DictModelMany;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;


import java.util.List;
import java.util.Map;

/**
 * <p>
 * <p>
 * <p>
 * 字典表 Mapper 接口
 *
 *
 * </p>
 *
 * @author dlp
 * @date 2024/08/23
 */
@Mapper
public interface SysDictMapper extends BaseMapper<SysDict> {

    /**
     * 通过字典code获取字典数据
     * @param code
     * @param key
     * @return
     */
    public String queryDictTextByKey(@Param("code") String code,@Param("key") String key);

    /**
     * 可通过多个字典code查询翻译文本
     * @param dictCodeList 多个字典code
     * @param keys 数据列表
     * @return
     */
    List<DictModelMany> queryManyDictByKeys(@Param("dictCodeList") List<String> dictCodeList, @Param("keys") List<String> keys);

    /**
     * 查询字典表的数据
     * @param table 表名
     * @param text   显示字段名
     * @param code   存储字段名
     * @param filterSql 条件sql
     * @param codeValues 存储字段值 作为查询条件in
     * @return
     */
    @Deprecated
    List<DictModel> queryTableDictByKeysAndFilterSql(@Param("table") String table, @Param("text") String text, @Param("code") String code, @Param("filterSql") String filterSql,
                                                     @Param("codeValues") List<String> codeValues);

}

